package com.jdd.modules.parking.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jdd.modules.parking.entity.ConfigParkCharge;

import java.util.List;

/**
 * @Description: 停车场计费规则信息表
 * @Author: jdd
 * @Date: 2021-02-18
 * @Version: V1.0
 */
public interface IConfigParkChargeService extends IService<ConfigParkCharge> {

    /**
     * 根据车辆类型ID获取对应的计费规则
     *
     * @param carTypeId 车辆类型id
     * @return 计费规则
     * @Description: 根据车辆类型ID获取对应的计费规则
     */
    ConfigParkCharge findConfigParkChargeByCarTypeId(String carTypeId);

    /**
     * 根据计费规则id获取对应的计费规则
     *
     * @param id 计费规则id
     * @return 计费规则
     */
    ConfigParkCharge findConfigParkChargeById(String id);

    /**
     * 删除对应车场编号的车场下的所有的计费规则信息
     *
     * @return 删除结果
     */
    Boolean removeByParkCode();

    /**
     * 更新计费规则实体
     *
     * @param configParkCharge 计费规则
     * @return 更新状态
     */
    boolean updateEntity(ConfigParkCharge configParkCharge);

    /**
     * 保存计费规则实体
     *
     * @param configParkCharge 计费规则
     * @return 保存状态
     */
    boolean saveEntity(ConfigParkCharge configParkCharge);

    /**
     * 删除计费规则实体
     *
     * @param id 计费规则id
     * @return 删除状态
     */
    boolean deleteEntityById(String id);

    /**
     * 更新计费规则实体
     *
     * @param ids 计费规则id列表
     * @return 删除状态
     */
    boolean deleteEntityByIds(List<String> ids);

    /**
     * 清空表数据
     *
     * @return true 清空成功
     */
    boolean removeAllInfo();
}
